A generic method for programming industrial automation systems in the sense of the preamble of claim 1 is based on at least one computer unit with input aids, output aids and preferably at least one display device. Modules and functions, respectively representing sub-tasks of an automation solution, are modeled and/or created using the input aids and optionally the display device. The modules and functions may be assigned model information and/or meta-information using the input aids and the display device. The modules and functions are structured and networked using the input aids and optionally the display device, to form at least one hierarchical tree as at least one machine-independent program.
In conventional programming languages, such as Pascal or Fortran, data, modules and functions are separated. Data and functions were only combined as objects further to the paradigm of object orientation. Metadata is also assigned singly to the objects. Metadata is information about other information, for example information about available objects. Such metadata is present in an overall system or in an overall context but in automation systems it is neither stored physically in an object, nor does it contain knowledge about the application to be implemented for an industrial unit or about the process to be implemented.
Programmable automation systems or MES systems, in other words systems for controlling and/or regulating automated processes or units, generally include a so-called runtime system for temporal sequence control of an automation component of a machine or system. Such systems also have an engineering device to create and edit control programs and unit functions. The control programs and unit functions created using the engineering device are executed in the runtime system.
The as yet unpublished prior art includes the technique of programming automation systems by modeling objects, which respectively represent sub-tasks of an automation solution, in an engineering device using input aids and a display device. Model information and meta-information is also assigned to such objects via the input aids and the display device. The objects are then structured and networked as hierarchical trees to provide at least one machine-independent program.
According to the prior art the or each machine-independent program generated using the engineering device is converted in one or more stages to a machine-dependent automation program for the components of the automation system. This takes place according to the prior art based on the visual representation during programming, with the visual representation being converted to an imperative, sequential machine language or machine code. This sequential machine code is loaded onto an automation component, for example a programmable logic controller (PLC), for execution according to the prior art.
The imperative, sequential machine code therefore represents the standard machine-dependent automation program according to the prior art, which is loaded in this form onto the components or automation units of the automation system. Automation programs generated according to the prior art as described above are however inflexible, as they cannot easily be adjusted to the runtime. Also such automation programs can only be used on the specific components of an automation system, for which the corresponding machine code has been generated. The programs cannot therefore be used in a flexible manner.
In view of this, the problem facing the present invention is to create a novel method and device for programming and/or executing programs for industrial automation systems.